-
Notifications
You must be signed in to change notification settings - Fork 838
Binaryen-related micro optimizations #8257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
| @@ -26,14 +26,21 @@ void dumpInitialLength(DataExtractor &Data, uint64_t &Offset, | |||
| void dumpDebugAbbrev(DWARFContext &DCtx, DWARFYAML::Data &Y) { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the changes to wasm-debug.cpp, but I am hesitant to make changes to LLVM files. Such changes will make updating and figuring out bugs much more difficult, potentially.
If there were a big perf difference I might feel otherwise, but that doesn't sound like the case? What is the benefit of the changes to this file specifically?
This should shave a couple seconds off
wasm-emscripten-finalize, which is really slow for me (more with source maps & stack overflow detection enabled, which I didn't look at here (yet)). Didn't make as much of a different as I'd hoped, but anyway.third_party/llvm-project/dwarf2yaml.cpp, since it comes from LLVM. I did also submitdwarf2yaml.cppoptimizations llvm/llvm-project#179048 but their version is very different, and not only in theXXX BINARYENareas.locationUpdater.has*()usages is correct. It seems that the result is almost identical. If the subtle difference is relevant, I can merge the two functions in a different way, wrapping inoptionalbut also allowing0if the old location was found but the new wasn't.Y.AbbrevDecls.reserveusing the loop is a bit overkill since I think the performace impact was minimal, I can remove it if you want.When built with
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_MIMALLOC=ON -DBYN_ENABLE_LTO=ON -DBUILD_STATIC_LIB=ON -DBYN_ENABLE_ASSERTIONS=OFF:Pre: 19s
Post: 16.5s